/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.settlement.entity.investorsettlement;

import org.hibernate.validator.constraints.Length;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 资方结算单Entity
 * @author Kilo
 * @version 2021-03-10
 */
@Table(name="t_investor_settlement_payment", alias="a", columns={
		@Column(name="investor_settlement_payment_id", attrName="investorSettlementPaymentId", label="资方结算单付款ID", isPK=true),
		@Column(name="car_id", attrName="carId", label="车辆"),
		@Column(name="frame_number", attrName="frameNumber", label="车架号"),
		@Column(name="payment_code", attrName="paymentCode", label="付款单号"),
		@Column(name="expense_item", attrName="expenseItem", label="费用项目"),
		@Column(name="actual_amount", attrName="actualAmount", label="实付金额"),
		@Column(name="if_flag", attrName="ifFlag", label="是否是核销预付款"),
		@Column(name="investor_settlement_id", attrName="investorSettlementId.investorSettlementId", label="资方结算单ID"),
	}, orderBy="a.investor_settlement_payment_id ASC"
)
public class InvestorSettlementPayment extends DataEntity<InvestorSettlementPayment> {
	
	private static final long serialVersionUID = 1L;
	private String investorSettlementPaymentId;		// 资方结算单付款ID
	private String carId;		// 车辆
	private String frameNumber;		// 车架号
	private String paymentCode;		// 付款单号
	private String expenseItem;		// 费用项目
	private Double actualAmount;		// 实付金额
	private String ifFlag;		// 是否是核销预付款
	private InvestorSettlement investorSettlementId;		// 资方结算单ID 父类
	
	public InvestorSettlementPayment() {
		this(null);
	}


	public InvestorSettlementPayment(InvestorSettlement investorSettlementId){
		this.investorSettlementId = investorSettlementId;
	}
	
	public String getInvestorSettlementPaymentId() {
		return investorSettlementPaymentId;
	}

	public void setInvestorSettlementPaymentId(String investorSettlementPaymentId) {
		this.investorSettlementPaymentId = investorSettlementPaymentId;
	}
	
	@Length(min=0, max=64, message="车辆长度不能超过 64 个字符")
	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}
	
	@Length(min=0, max=100, message="车架号长度不能超过 100 个字符")
	public String getFrameNumber() {
		return frameNumber;
	}

	public void setFrameNumber(String frameNumber) {
		this.frameNumber = frameNumber;
	}
	
	@Length(min=0, max=100, message="付款单号长度不能超过 100 个字符")
	public String getPaymentCode() {
		return paymentCode;
	}

	public void setPaymentCode(String paymentCode) {
		this.paymentCode = paymentCode;
	}
	
	@Length(min=0, max=2, message="费用项目长度不能超过 2 个字符")
	public String getExpenseItem() {
		return expenseItem;
	}

	public void setExpenseItem(String expenseItem) {
		this.expenseItem = expenseItem;
	}
	
	public Double getActualAmount() {
		return actualAmount;
	}

	public void setActualAmount(Double actualAmount) {
		this.actualAmount = actualAmount;
	}
	
	@Length(min=0, max=2, message="是否是核销预付款长度不能超过 2 个字符")
	public String getIfFlag() {
		return ifFlag;
	}

	public void setIfFlag(String ifFlag) {
		this.ifFlag = ifFlag;
	}
	
	public InvestorSettlement getInvestorSettlementId() {
		return investorSettlementId;
	}

	public void setInvestorSettlementId(InvestorSettlement investorSettlementId) {
		this.investorSettlementId = investorSettlementId;
	}
	
}